{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import tensorflow as tf\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x258b562cf28>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#使用numpy生成200个随机点\n",
    "x_data = np.linspace(-0.5,0.5,200)[:,np.newaxis]\n",
    "noise = np.random.normal(0,0.02,x_data.shape)\n",
    "y_data = np.square(x_data) + noise\n",
    "\n",
    "#定义两个placeholder\n",
    "x = tf.placeholder(tf.float32,[None,1])\n",
    "y = tf.placeholder(tf.float32,[None,1])\n",
    "\n",
    "#定义神经网络中间层\n",
    "Weights_L1 = tf.Variable(tf.random_normal([1,10]))\n",
    "biases_L1 = tf.Variable(tf.zeros([1,10]))\n",
    "Wx_plus_b_L1 = tf.matmul(x,Weights_L1) + biases_L1\n",
    "L1 = tf.nn.tanh(Wx_plus_b_L1)\n",
    "\n",
    "#定义神经网络输出层\n",
    "Weights_L2 = tf.Variable(tf.random_normal([10,1]))\n",
    "biases_L2 = tf.Variable(tf.zeros([1,1]))\n",
    "Wx_plus_b_L2 = tf.matmul(L1,Weights_L2) + biases_L2\n",
    "prediction = tf.nn.tanh(Wx_plus_b_L2)\n",
    "\n",
    "#二次代价函数\n",
    "loss = tf.reduce_mean(tf.square(y-prediction))\n",
    "#使用梯度下降法训练\n",
    "train_step = tf.train.GradientDescentOptimizer(0.1).minimize(loss)\n",
    "\n",
    "with tf.Session() as sess:\n",
    "    #变量初始化\n",
    "    sess.run(tf.global_variables_initializer())\n",
    "    for _ in range(2000):\n",
    "        sess.run(train_step,feed_dict={x:x_data,y:y_data})\n",
    "        \n",
    "    #获得预测值\n",
    "    prediction_value = sess.run(prediction,feed_dict={x:x_data})\n",
    "    #画图\n",
    "    plt.figure()\n",
    "    plt.scatter(x_data,y_data)\n",
    "    plt.plot(x_data,prediction_value,'r-',lw=5)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [default]",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
